The present invention relates generally to a photonic computing system.
The invention also relates to a corresponding method for performing photonic computing.
Neuromorphic networks are widely used in pattern recognition and classification, with many potential applications from fingerprint, iris, and face recognition to target acquisition, etc. The parameters (e.g., ‘synaptic weights’) of the neuromorphic networks are adaptively trained on a set of patterns during a learning process, following which the neuromorphic network is able to recognize or classify patterns of the same kind.
A key component of a neuromorphic network is the ‘synapse,’ at which weight information is stored, typically as a continuous-valued variable. For applications that would benefit from compact, high-performance, low-power, portable neuromorphic network computation, it is desirable to be able to construct high-density hardware neuromorphic networks having a large number of synapses (109-1010 or more). Currently a neuromorphic network is typically realized as a software algorithm implemented on a general-purpose computer, although hardware for accelerating the algorithms as well as neuromorphic networks exist.
Neural networks may be used for various types of learning. As an example, in “supervised learning” a set of (input, desired output) pairs is provided to the neuromorphic network, one at a time, and a learning algorithm finds values of the “weights” (the adjustable parameters of the neuromorphic network) that minimize a measure of the difference between the actual and the desired outputs over the training set. If the neural network has been well trained, it will then process a novel (previously unseen) input to yield an output that is similar to the desired output for that novel input. That is, the neural network will have learned certain patterns that relate input to desired output, and generalized this learning to novel inputs.
As another example, in “unsupervised learning,” a set of inputs (without “desired outputs”) is provided to the neural network, along with a criterion that the neural network is to optimize. An example of such a criterion is that the neural network is able to compress an input into a smaller amount of information (a “code”) in such a way that the code can be used to reconstruct the input with minimum average error.
As yet another example, in “reinforcement learning,” a “reward/penalty” value is provided (by an external “teacher”). The “reward/penalty” value depends upon the input and the network's output. This value is used to adjust the weights (and therefore the network's outputs) so as to increase the average “reward.”
Neural network applications may include pattern recognition, classification, and identification of fingerprints, faces, voiceprints, similar portions of text, similar strings of genetic code, prediction of the behavior of systems etc.
Reservoir computing systems allow the analysis of dynamical input data by training the output for certain tasks, e.g. for classification or forecast purposes.
One challenge is the implement such systems into hardware with small dimensions, in particular dimensions that are suitable for CMOS technology integration.
Accordingly, there is a need for further optical computing systems.